The present disclosure relates to color conversion techniques and color management systems and software.
Devices that are capable of representing image data (e.g., monitors, printers, scanners, cameras) often have significant variations in color gamut, the range of colors producible by the device. To accommodate this range in device gamuts, a variety of color spaces, and color management systems and techniques have been developed. Color management enables different color space values to be mapped from one device's gamut to another's using color profiles, which define how color information is transformed into or out of a standard reference space called a profile connection space.
Using color management, a human's perception of color from one device representation to another can be kept close to constant, despite the variation in color capabilities of different devices. To assist in color management, the Commission Internationale de L'Eclairage (CIE) has defined various color spaces that are device independent and encompass the full gamut of human vision, and can thus be used as profile connection spaces. Typical profile connection spaces in color management systems include CIEXYZ and CIELAB. LAB space is a color space having a luminance channel, L, and opponent color channels, A (green→red) and B (blue→yellow).
A color profile defines how to transform color information from one color space to another, such as from a device-dependent color space into a profile connection space, or the reverse. Many color profiles also conform to a defined color profile architecture, which provides flexibility in their use. For example, the International Color Consortium (ICC) provides a defined color profile architecture commonly used in many color management systems. ICC profiles have been developed for many different color spaces.
Image states represent the color and lighting characteristics associated with viewing or capturing the images. The two major categories of image states are input-referred and output-referred. Input-referred image states are generally associated with the color and lighting characteristics in the environment of captured scenes. Output-referred image states are generally associated with the color and lighting characteristics of images when viewed in environments with much more limited dynamic range, such as movie theaters or computer monitors. “Input-referred” is a more general term that encompasses image states, such as “scene-referred,” which typically relates to capturing the natural, three-dimensional world and “original-referred,” which typically relates to capturing two-dimensional artwork or photographs. Output referred includes print-referred, display-referred, and others.
Input devices, such as a digital camera, initially capture images in the form of varying intensities of light. The values of the intensities are generally proportional to the light levels of the scene. Input-referred is an image state associated with image data that is associated with the light levels of the scene. Other types of input-referred image states include focal-plane-referred, which is associated with the view at the focal plane after passing through lenses of a camera. Often the input-referred images have a high dynamic range of light intensities. For example, a picture captured outside may capture light from the sun and a very dark shadow in the same image, which leads to a high dynamic range.
When a captured image needs to be displayed on a monitor, by a printer, or using some other output device, the output devices often have much lower dynamic ranges. A dynamic range adjustment must be done to the image to allow the output device to display the image properly. An output-referred image can result when dynamic range adjustments are done on an input-referred image. Adjusting the dynamic range, usually by some type of compression algorithm, is called rendering. The reverse (converting an output-referred image to an input-referred image) is called un-rendering. In many cases, un-rendering is not completely accurate because information about the image is lost in the rendering process, but an approximated input-referred image can be obtained. In some cases, such as in the case of video, where dynamic range compression is not really done to a great extent and gamma adjustments are the main changes between input-referred and output-referred images, the un-rendering can be fairly accurate.